home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 56 / 64er_Magazin_Sonderheft_56_19xx_Markt__Technik_de_Side_B.d64 / logical bricks (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  19KB  |  537 lines

  1. 10 rem"  [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]
  2. 11 [143]"  peek                            peek
  3. 12 rem"  [194] l o g i c a l  b r i c k s [194]
  4. 13 [143]"  peek                            peek
  5. 14 rem"  [194]                            [194]
  6. 15 [143]"  peek  von                       peek
  7. 16 rem"  [194]                            [194]
  8. 17 [143]"  peek      manfred werner        peek
  9. 18 rem"  [194]      zimmermannstr. 27     [194]
  10. 19 [143]"  peek      1000 berlin 41        peek
  11. 20 rem"  [194]                            [194]
  12. 21 [143]"  peek      1990                  peek
  13. 22 rem"  [194]                            [194]
  14. 23 [143]"  mid$lenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlen(NULL)
  15. 24 rem"
  16. 25 [143]"
  17. 100 goto 550
  18. 104 rem ------------------------------
  19. 105 print " [146][157]";
  20. 106 get c$: if c$="" goto 106
  21. 107 c=asc(c$): print " [157]";: return
  22. 109 rem ------------------------------
  23. 110 gosub 105: e=-(c=17)-2*(c=145):                    e=e-3*(c=157)-4*(c=133)
  24. 111 if e>0 then print " [157]";
  25. 112 return
  26. 114 rem ------------------------------
  27. 115 gosub 105:                              if c=13 then print " [157]";: return
  28. 116 goto 115
  29. 159 rem ------------------------------
  30. 160 x$="": xl=0
  31. 170 gosub 110: if e>0 then return
  32. 171 if g and f goto 202
  33. 175 if f1 and xl=0 and (c=63) then g=-1:       print c$;:x$=x$+c$:xl=1:goto170
  34. 180 al=c>64 and c<91: za=c>47 and c<58
  35. 190 if (al or za) and xl<4 then                print c$;: x$=x$+c$: xl=xl+1
  36. 200 if xl=0 goto 170
  37. 202 if c<>20 goto 214
  38. 204 print " [157][157]";: xl=xl-1:                  x$=left$(x$,xl): g=0: goto 170
  39. 214 if c<>z1 and c<>z2 goto 170
  40. 215 print c$;: z1=c+1-(c=91): z2=z1
  41. 216 if xl=4 then return
  42. 217 x$=x$+" ": xl=xl+1: goto 216
  43. 219 rem -------------------------------
  44. 220 for m=1 to h:                           p%(k,m,1)=val(mid$(a$(k),11+m,1))
  45. 221 if p%(k,m,1)=0 then m=m-1: goto 223
  46. 222 next m
  47. 223 z%(k)=m: f%(k)=5:if m=1 then f%(k)=1
  48. 224 return
  49. 225 rem -------------------------------
  50. 226 for m=1 to h-1:                             p%(k,m,1)=m: p%(k,m,2)=m+1
  51. 227 next m: z%(k)=h-1: f%(k)=2: return
  52. 229 rem -------------------------------
  53. 230 for m=1 to h-1:                             p%(k,m,1)=m+1: p%(k,m,2)=m
  54. 231 next m: z%(k)=h-1: f%(k)=2: return
  55. 234 rem -------------------------------
  56. 235 for m=1 to h:                               p%(k,m,1)=m: p%(k,m,2)=m
  57. 236 next m:z%(k)=h: if c=0 then f%(k)=7:    return
  58. 237 kl$=mid$(a$(k),16,1):                   if kl$="[" then f%(k)=6: return
  59. 238 f%(k)=2: return
  60. 239 rem -------------------------------
  61. 240 for m1=1 to h-2
  62. 241 :   for m2=1 to 2: m=2*m1+m2-2:                 p%(k,m,1)=m1+1
  63. 242 :       p%(k,m,2)=m1-2+2*m2:                    p%(k,m,3)=m1+4-2*m2
  64. 243 next m2,m1: z%(k)=2*(h-2): f%(k)=3:     return
  65. 244 rem -------------------------------
  66. 245 for m1=1 to h-1:                            for m2=1 to 2: m=2*m1+m2-2
  67. 246 :       p%(k,m,1)=m1+m2-1:                      p%(k,m,2)=m1-m2+2
  68. 247 next m2,m1: z%(k)=2*(h-1): f%(k)=4:     return
  69. 249 rem -------------------------------
  70. 280 for i=1 to an: a$(i)="": next i
  71. 281 for i=1 to r: bn%(i)=0: r$(i)="":       for j=1 to h: i%(j,i)=0: b$(j,i)=""
  72. 282 next j,i: rn=0: return
  73. 289 rem -------------------------------
  74. 290 for z=4 to 2*r+2 step 2
  75. 291 for s=1 to 5*h-4 step 5:                    m$="    ": gosub 440
  76. 292 next s,z: return
  77. 294 rem -------------------------------
  78. 295 poke 214,3: poke 211,0: sys 58640
  79. 296 for i=1 to 15:                              print le$+"      ";
  80. 297 next i: return
  81. 329 rem -------------------------------
  82. 330 n%(i)=n%(n1):n%(n1)=ih:n1=n1+1:         return
  83. 334 rem -------------------------------
  84. 335 n%(k)=n%(n1):n%(n1)=kh:n1=n1+1:         return
  85. 359 rem -------------------------------
  86. 360 for i=1 to h:                              if i%(i,r%(n,2))=b%(n,2) goto 362
  87. 361 next i
  88. 362 a$=a$(n): r0=r%(n,1): i0=i%(i,r0)
  89. 363 a$(n)=left$(a$,5)+""+b$(i0,r0)               +"[146]"+right$(a$,12): return
  90. 364 rem ------------------------------
  91. 365 for i=1 to h:                              if i%(i,r%(n,1))=b%(n,1) goto 367
  92. 366 next i
  93. 367 r0=r%(n,2)
  94. 368 a$(n)=left$(a$(n),16)+""                     +b$(i%(i,r0),r0)+"[146])": return
  95. 369 rem ------------------------------
  96. 370 for i=1 to h:                              if i%(i,r%(n,1))=b%(n,1) goto 372
  97. 371 next i
  98. 372 a$(n)=left$(a$(n),11)+""+str$(i)             +"[146]": return
  99. 374 rem -------------------------------
  100. 375 a$=a$(n):r0=r%(n,1):i0=i%(l%(n),r0)
  101. 376 a$(n)=left$(a$,5)+""+b$(i0,r0)               +"[146]"+right$(a$,3)
  102. 377 return
  103. 404 rem -------------------------------
  104. 405 for i=2 to x: t$=t$+t0$: next i:        t$=t$+x$: print t$: return
  105. 409 rem -------------------------------
  106. 410 for i=1 to x: t$=t$+x$: next i:         return
  107. 414 rem -------------------------------
  108. 415 t$=t$+x$
  109. 416 t$=t$+y$
  110. 417 z=z+1: m$=t$: gosub 440: return
  111. 434 rem -------------------------------
  112. 435 z=21:s=1: m$=le$: gosub 440: m$=m0$
  113. 439 z=21: s=1
  114. 440 poke 214,z: poke 211,s: sys 58640:      print m$;: return
  115. 459 rem -------------------------------
  116. 460 r0=r%(n,h0): b0=b%(n,h0):               p1=v%(n,vn%(n)): p0=p%(n,p1,h0)
  117. 461 z=2*r0+2: s=5*p0-4: m$=b$(b0,r0):       gosub 440: i%(p0,r0)=b0: return
  118. 469 rem -------------------------------
  119. 470 for i=1 to 3:                               h0=h%(n,i): if h0=0 goto 474
  120. 471 :   r0=r%(n,h0): p1=v%(n,vn%(n)):           p0=p%(n,p1,h0)
  121. 472 :   z=2*r0+2: s=5*p0-4: m$="    ":          gosub 440: i%(p0,r0)=0
  122. 474 next i: return
  123. 489 rem -------------------------------
  124. 490 c$=mid$(a$,i,1): c=asc(c$+chr$(0)):     if c=32 then i=i+1: goto 490
  125. 495 i=i+1: return
  126. 499 rem -------------------------------
  127. 500 x$="": xl=0
  128. 501 gosub 490:                              if c<>63 then f=0: goto 512
  129. 502 gosub 490:                              if c<>z1 and c<>z2 then e=-1: return
  130. 503 a0$=a0$+"?   )": f=-1: goto 517
  131. 510 x$="": xl=0
  132. 511 gosub 490
  133. 512 zb=c>64 and c<91 or c>47 and c<58
  134. 513 if zb then x$=x$+c$:xl=xl+1:goto 511
  135. 514 if c<>z1 and c<>z2 or xl=0 then            e=-1: return
  136. 515 if xl<4 then x$=x$+" ": xl=xl+1:           goto 515
  137. 516 x$=left$(x$,4): a0$=a0$+x$+c$
  138. 517 m$=str$(k)+" "+a0$: gosub 439:          e=0: return
  139. 549 rem -------------------------------
  140. 550 t0$="[195]": t1$="[213]": t2$="[201]": t3$="[202]":     t4$="[203]": t5$="[194]": t6$="[171]": t7$="[179]"
  141. 551 t8$="[195][195][195][195]"
  142. 552 le$="                                     "
  143. 558 poke 53280,6: poke 53281,6
  144. 559 rem -------------------------------
  145. 560 dim a$(60),i%(7,8),b$(7,8),r$(8),           bn%(8),p%(60,12,3)
  146. 561 dim z%(60),jn%(60),l%(60),f%(60),           n%(60),ma%(60),mb%(60),v%(60,12)
  147. 562 dim vn%(60),vm%(60),v1%(60),v2%(60),        r%(60,3),b%(60,3),h%(60,3)
  148. 599 rem -------------------------------
  149. 600 t$="[147][213]": x=30: x$=t2$: gosub 405
  150. 610 t$=   "[194] l o g i c a l   ":             t$=t$+"b r i c k s [194]": print t$
  151. 620 t$=t3$: x$=t4$: gosub 405
  152. 640 poke 214,20: poke 211,0: sys 58640
  153. 650 t$=t1$: x=38: x$=t2$: gosub 405
  154. 670 t$=   "[194]                                     [194]": print t$
  155. 680 t$=t3$: x$=t4$: gosub 405: goto 813
  156. 699 rem -------------------------------
  157. 700 m0$="einheiten: ?[146][157]": gosub 435
  158. 710 get c$: if c$="" goto 710
  159. 720 h=asc(c$)-48:if h<2 or h>7 goto 710
  160. 730 print c$+" rubriken: ?[146][157]";
  161. 740 get c$: if c$="" goto 740
  162. 750 r=asc(c$)-48:if r<2 or r>8 goto 740
  163. 761 print c$+" aussagen: ?[146][157]";
  164. 762 get c$: if c$="" goto 762
  165. 763 print c$;: a1=asc(c$)-48:               if a1<0 or a1>9 goto 762
  166. 764 print "?[146][157]";: get c$:                  if c$="" goto 764
  167. 765 print c$;: a0=asc(c$)-48:               if a0<0 or a0>9 goto 764
  168. 766 an=a0+10*a1: if an<10 or an>60 then        print "[157] [157][157]?[146][157]";: goto 762
  169. 767 goto 985
  170. 769 rem -------------------------------
  171. 810 m0$="aussagen als daten lesen ":        gosub 435
  172. 811 gosub 105:                              on -(c=17)-2*(c=13) goto 813,900
  173. 812 goto 811
  174. 813 m0$="aussagen-editor ": gosub 435
  175. 814 gosub 105:                              on -(c=17)-2*(c=13) goto 810,700
  176. 815 goto 814
  177. 899 rem -------------------------------
  178. 900 read h,r,an
  179. 901 for i=1 to an: read a$(i): next i
  180. 910 m0$="syntax-test": gosub 435
  181. 915 for k=1 to an: a$=a$(k):                    if a$="" goto 930
  182. 920 :   gosub 1102
  183. 925 :   if e then m0$="syntax-fehler":             gosub 435:gosub 105: goto 990
  184. 926 :   a$(k)=a0$
  185. 930 next k: goto 1200
  186. 984 rem ------aussageneditor-----------
  187. 985 k=1
  188. 990 a$(k)="": f=0
  189. 994 a$=a$(k): al=len(a$)
  190. 995 m0$=str$(k)+" "+a$: gosub 435: ae=0
  191. 1000 gosub 105:                              on -(c<32)-2*(c>95) goto 1020,1025
  192. 1005 if al=33 goto 1000
  193. 1010 print c$;: a$=a$+c$: al=al+1:           ae=-1: goto 1000
  194. 1020 on -(c=13)-2*(c=17)-3*(c=20)               goto 1100,1045,1035
  195. 1021 goto 1000
  196. 1025 on -(c=133)-2*(c=145)-3*(c=157)            goto 1200,1055,990
  197. 1030 goto 1000
  198. 1035 if al=0 goto 1000
  199. 1040 print " [157][157]";: al=al-1: ae=-1:           a$=left$(a$,al): goto 1000
  200. 1045 if ae then a$(k)=""
  201. 1046 k=k+1: if k>an then k=1
  202. 1050 goto 994
  203. 1055 if ae then a$(k)=""
  204. 1056 k=k-1: if k=0 then k=an
  205. 1060 goto 994
  206. 1100 if a$="" goto 1000
  207. 1101 gosub 1102: goto 1190
  208. 1102 i=1: a0$="": m$=le$: gosub 439
  209. 1103 z1=40: z2=z1: gosub 510:                if e then return
  210. 1105 z1=41: z2=z1: gosub 500:                if e then return
  211. 1110 gosub 490: o=c:                         on -(c=43)-2*(c=61) goto 1150,1175
  212. 1120 if f then e=-1: return
  213. 1125 on -(c=0)-2*(c=60 or c=62 or c=35)         -3*(c=58) goto 1130,1150,1135
  214. 1130 e=0: return
  215. 1135 a0$=a0$+c$: z1=40: z2=z1:               gosub 510 : if e then return
  216. 1140 z1=41: z2=z1: gosub 510:                if e then return
  217. 1145 gosub 490:                              if c<>44 then e=0: return
  218. 1150 a0$=a0$+c$: z1=40:                      z2=z1-51*(not f and o=43)
  219. 1151 gosub 510: if e then return
  220. 1155 z1=c-(c=91)+1: z2=z1:                   on 1-(z1=93 or f) gosub 500,510
  221. 1160 if e then return
  222. 1165 gosub 490:                              if c<>0 then e=-1: return
  223. 1170 e=0: return
  224. 1175 a0$=a0$+c$: c1=0
  225. 1176 gosub 490
  226. 1178 if c>48 and c<(49+h) and c>c1 then         a0$=a0$+c$: c1=c: goto 1176
  227. 1180 if f or c1>0 goto 1184
  228. 1182 if c=63 then a0$=a0$+c$: gosub 490
  229. 1184 gosub 517: e=(c<>0): return
  230. 1190 if e then m0$="syntax-fehler":             gosub 435: gosub 105: goto 990
  231. 1195 a$(k)=a0$: goto 1046
  232. 1199 rem -------uebersicht-------------
  233. 1200 m0$="alle begriffe auflisten ":         gosub 435: if ta goto 2000
  234. 1205 z=2: s=0
  235. 1210 t$=t1$:                                 for i=1 to h-1: t$=t$+"[195][195]"
  236. 1211 t$=t$+right$(str$(i),1)+"[146][195][178]"
  237. 1212 next i:                                 t$=t$+"[195][195]"+right$(str$(h),1)+"[146][195]"
  238. 1215 y$=t2$: gosub 416
  239. 1220 for j=1 to r-1: t$=""
  240. 1225 :   x=h: x$="[194]    ": gosub 410:             y$=t5$: gosub 416
  241. 1230 :   t$=t6$: x=h-1: x$="[195][195][195][195][219]":              gosub 410
  242. 1235 :   x$=t8$: y$=t7$: gosub 415
  243. 1240 next j: t$=""
  244. 1245 x=h: x$="[194]    ": gosub 410:             y$=t5$: gosub 416
  245. 1250 t$=t3$: x=h-1:x$="[195][195][195][195][177]": gosub 410:    x$=t8$: y$=t4$: gosub 415
  246. 1260 ta=-1
  247. 1999 rem -----aussagencodierung--------
  248. 2000 kn=0: km=an+1
  249. 2005 for k=1 to an: a$=a$(k): y1=-1:             c$=mid$(a$,12,1): y2=(c$<>"?")
  250. 2010 :   if a$="" goto 2220
  251. 2020 :   o$=mid$(a$,11,1)
  252. 2021 :   c=asc(o$+chr$(0))
  253. 2030 :   j=-(c=43 or c=60 or c=62 or               c=35)-2*(c=58): jn%(k)=j+1
  254. 2031 :   on -(c=0 or c=43)-2*(c=61)                 gosub 235,220
  255. 2032 :   on -(c=60)-2*(c=62)-3*(c=35)               gosub 225,230,245
  256. 2033 :   if c=58 then gosub 240
  257. 2040 :   for i=0 to j: p=11*i+1:                 :   r$=mid$(a$,p,4)
  258. 2050 :       for i1=0 to rn
  259. 2051 :           if r$=r$(i1) then                       r%(k,i+1)=i1: goto 2120
  260. 2060 :       next i1
  261. 2070 :       rn=rn+1:if rn<=r goto 2110
  262. 2080 :       m1$="zu viele rubriken":                goto 2250
  263. 2110 :       r$(rn)=r$: r%(k,i+1)=rn
  264. 2111 :       z=2*i1+2: s=5*h+1:                      m$=""+r$+"[146]": gosub 440
  265. 2120 :       b$=mid$(a$,p+5,4)
  266. 2121 :      if b$="?   " then f%(k)=i+1:               y1=0: goto 2210
  267. 2129 :       for j1=0 to bn%(i1)
  268. 2130 :       if b$=b$(j1,i1) then                       b%(k,i+1)=j1: goto 2210
  269. 2140 :       next j1
  270. 2150 :       bn%(i1)=bn%(i1)+1:                      if bn%(i1)<=h goto 2190
  271. 2160 :       m1$="zu viele begriffe/":               m1$=m1$+"rubr"
  272. 2170 :       goto 2250
  273. 2190 :       b$(bn%(i1),i1)=b$:                      b%(k,i+1)=bn%(i1)
  274. 2200 :       z=2*i1+2: s=5*bn%(i1)-4:                m$=b$: gosub 440
  275. 2210 :   next i
  276. 2211 :   if y1 and y2 then kn=kn+1:                 n%(kn)=k: goto 2220
  277. 2212 :   if o$="=" then f%(k)=3-y2:                 l%(k)=val(c$)
  278. 2213 :   km=km-1: n%(km)=k
  279. 2220 next k
  280. 2229 e1=-1
  281. 2230 for i1=1 to r:                              e1=(bn%(i1)=h) and e1
  282. 2240 next i1: if e1 and rn=r goto 3000
  283. 2245 m1$="zu wenige begriffe"
  284. 2250 m0$=m1$+" - korrektur ": gosub 435
  285. 2251 gosub 105:                              on -(c=17)-2*(c=13) goto 2253,2260
  286. 2252 goto 2251
  287. 2253 m0$=m1$+" - abbruch ": gosub 435
  288. 2254 gosub 105:                              on -(c=17)-2*(c=13) goto 2250,5000
  289. 2255 goto 2254
  290. 2260 gosub 290:gosub 281: goto 994
  291. 2999 rem --------ordnen 1/2------------
  292. 3000 m1$="logik-bausteine ordnen ":          m0$=m1$: gosub 435: gosub 115
  293. 3005 gosub 290: k0=kn: n0=1: k=1:            m0$=m1$+"- schritt 1": gosub 435
  294. 3010 oa=0: ob=0: ua=kn+1: ub=kn+1
  295. 3015 n=n%(k): on f%(n) goto                  3020,3080,3040,3045,3065,3050,3055
  296. 3020 r0=r%(n,1):b0=b%(n,1):p0=p%(n,1,1)
  297. 3021 if i%(p0,r0)=b0 goto 3060
  298. 3025 if i%(p0,r0)<>0 goto 4990
  299. 3030 for p1=1 to h:                              if i%(p1,r0)=b0 goto 4990
  300. 3035 next p1: gosub 461: goto 3120
  301. 3040 oa=oa+1: ma%(oa)=n: goto 3060
  302. 3045 ua=ua-1: ma%(ua)=n: goto 3060
  303. 3050 ob=ob+1: mb%(ob)=n: goto 3060
  304. 3055 ub=ub-1: mb%(ub)=n
  305. 3060 n%(k)=n%(k0): k0=k0-1: goto 3067
  306. 3065 n%(k)=n%(n0): n%(n0)=n: n0=n0+1
  307. 3066 k=k+1
  308. 3067 if k<=k0 goto 3015
  309. 3068 goto 3130
  310. 3080 for l=1 to 2
  311. 3081 for p1=1 to z%(n)
  312. 3085 : if i%(p%(n,p1,l),r%(n,l))=b%(n,l)          goto 3095
  313. 3090 next p1,l: goto 3066
  314. 3095 r0=r%(n,3-l): b0=b%(n,3-l):             p0=p%(n,p1,3-l)
  315. 3096 if right$(m0$,1)="2" goto 3100
  316. 3097 m0$=m1$+"- schritt 2": gosub 435
  317. 3100 if i%(p0,r0)=b0 goto 3120
  318. 3105 if i%(p0,r0)<>0 goto 4990
  319. 3110 for p2=1 to h:                              if i%(p2,r0)=b0 goto 4990
  320. 3115 next p2: gosub 461
  321. 3120 n%(k)=n%(k0):k0=k0-1:k=n0:goto 3015
  322. 3130 k2=k0: if oa=0 goto 3136
  323. 3135 for i=1 to oa:n%(k0+i)=ma%(i):next:     k2=k0+oa
  324. 3136 if ua=kn+1 goto 3150
  325. 3140 for i=1 to kn-ua+1:                         n%(k2+i)=ma%(ua+i-1)
  326. 3145 next i: k2=k2+kn-ua+1
  327. 3150 k1=k2: if ob=0 goto 3400
  328. 3155 for i=1 to ob:n%(k1+i)=mb%(i):next:     k1=k1+ob
  329. 3399 rem ------ordnen 3/4--------------
  330. 3400 m0$=m1$+"- schritt 3": gosub 435:       n0=1: k=k0+1: q=0: goto 3405
  331. 3401 if k>n0 then n%(k)=n%(n0):n%(n0)=n
  332. 3403 n0=n0+1
  333. 3404 k=n0
  334. 3405 if k<=k2 goto 3510
  335. 3406 if q goto 4500
  336. 3407 m0$=m1$+"- schritt 4": gosub 435:       q=-1: k=n0
  337. 3408 m0=0: n1=n0
  338. 3409 k=k+1: if k>k2 goto 3430
  339. 3410 kh=n%(k): g=0
  340. 3411 if k<=n1 goto 3420
  341. 3412 for i=n1 to k-1: ih=n%(i)
  342. 3413 :   for j1=1 to jn%(ih):                    for j2=1 to jn%(kh)
  343. 3414 :       if r%(kh,j2)<>r%(ih,j1)                    goto 3417
  344. 3415 :       if b%(kh,j2)<>b%(ih,j1)                    goto 3417
  345. 3416 :       m0=m0+1: ma%(m0)=ih: g=-1:              gosub 330: goto 3418
  346. 3417 :   next j2,j1
  347. 3418 next i
  348. 3419 if g then m0=m0+1: ma%(m0)=kh:             gosub 335: goto 3409
  349. 3420 if m0=0 goto 3409
  350. 3421 for i=1 to m0: ih=m(i)
  351. 3422 :   for j1=1 to jn%(ih):                    for j2=1 to jn%(kh)
  352. 3423 :       if r%(kh,j2)<>r%(ih,j1)                    goto 3429
  353. 3424 :       if b%(kh,j2)<>b%(ih,j1)                    goto 3429
  354. 3425 :       m0=m0+1:                                for j3=m0 to i+2 step -1
  355. 3426 :           ma%(j3)=ma%(j3-1)
  356. 3427 :       next j3: ma%(i+1)=kh:                   gosub 335: goto 3409
  357. 3428 :   next j2,j1
  358. 3429 next i: goto 3409
  359. 3430 for i0=1 to m0:                             n%(n0+i0-1)=ma%(i0)
  360. 3431 next i0: goto 3404
  361. 3510 n=n%(k)
  362. 3525 for l=1 to jn%(n)
  363. 3526 :   for p1=1 to h
  364. 3527 :       if i%(p1,r%(n,l))=b%(n,l)                  goto 3534
  365. 3528 :   next p1
  366. 3529 next l: if not q then k=k+1:                       goto 3405
  367. 3530 vn=0: h%(n,1)=1
  368. 3531 for p2=1 to z%(n)
  369. 3532 :   if i%(p%(n,p2,1),r%(n,1))=0                then vn=vn+1: v%(n,vn)=p2
  370. 3533 next p2: l%(n)=1: goto 3543
  371. 3534 vn=0: h%(n,1)=0
  372. 3535 for p2=1 to z%(n)
  373. 3536 :   if p%(n,p2,l)=p1 then vn=vn+1:             v%(n,vn)=p2
  374. 3537 next p2: if vn=0 goto 3640
  375. 3542 l%(n)=l
  376. 3543 vn%(n)=1: v1%(n)=vn
  377. 3545 if h%(n,1)=1 then h0=1: gosub 460
  378. 3546 if jn%(n)=1 goto 3401
  379. 3547 h%(n,2)=0: h%(n,3)=0
  380. 3549 if jn%(n)=3 goto 3570
  381. 3550 l1=3-l%(n):r0=r%(n,l1):b0=b%(n,l1):     p1=v%(n,vn%(n)): p0=p%(n,p1,l1)
  382. 3555 if i%(p0,r0)=b0 goto 3401
  383. 3560 if i%(p0,r0)<>0 goto 3630
  384. 3565 for p2=1 to h:                              if i%(p2,r0)=b0 goto 3630
  385. 3567 next p2: h%(n,2)=l1: h0=l1:             gosub 460: goto 3401
  386. 3570 l1=1: if l%(n)=1 then l1=2
  387. 3571 r0=r%(n,l1): b0=b%(n,l1):               p1=v%(n,vn%(n)): p0=p%(n,p1,l1)
  388. 3575 if i%(p0,r0)=b0 goto 3590
  389. 3580 if i%(p0,r0)<>0 goto 3630
  390. 3585 for p2=1 to h:                              if i%(p2,r0)=b0 goto 3630
  391. 3587 next p2: h%(n,2)=l1: h0=l1:             gosub 460
  392. 3590 l2=6-l%(n)-l1
  393. 3591 r0=r%(n,l2): b0=b%(n,l2):               p0=p%(n,p1,l2)
  394. 3600 if i%(p0,r0)=b0 goto 3401
  395. 3605 if i%(p0,r0)<>0 goto 3630
  396. 3610 for p2=1 to h:                              if i%(p2,r0)=b0 goto 3630
  397. 3620 next p2: h%(n,3)=l2: h0=l2:             gosub 460: goto 3401
  398. 3630 gosub 470
  399. 3640 vn%(n)=vn%(n)+1
  400. 3641 if vn%(n)<=v1%(n) goto 3545
  401. 3645 n0=n0-1: if n0=0 goto 4990
  402. 3646 n=n%(n0):gosub 470:vn%(n)=vn%(n)+1
  403. 3648 if vn%(n)>v1%(n) goto 3645
  404. 3650 k=n0: goto 3545
  405. 4499 rem ---------ordnen 5-------------
  406. 4500 m0$=m1$+"- schritt 5": gosub 435:       k=k2
  407. 4505 k=k+1: n=n%(k): if k>k1 goto 4800
  408. 4510 h%(n,1)=0: h%(n,2)=0: h%(n,3)=0:        v1%(n)=0: v2%(n)=0
  409. 4515 for p0=1 to h: b0=i%(p0,r%(n,1))
  410. 4520 :  if b0=b%(n,1) then p%(n,1,1)=p0:           v1%(n)=1: goto 4535
  411. 4525 :   if b0=0 then v1%(n)=v1%(n)+1:              p%(n,v1%(n),1)=p0
  412. 4530 next p0
  413. 4535 for p0=1 to h: b0=i%(p0,r%(n,2))
  414. 4540 :  if b0=b%(n,2) then p%(n,1,2)=p0:           v2%(n)=1: goto 4560
  415. 4550 :   if b0=0 then v2%(n)=v2%(n)+1:              p%(n,v2%(n),2)=p0
  416. 4555 next p0
  417. 4560 if v1%(n)=0 or v2%(n)=0 goto 4610
  418. 4565 vn%(n)=1
  419. 4570 p1=p%(n,vn%(n),1): vm%(n)=1
  420. 4575 p2=p%(n,vm%(n),2):                      if p1=p2 goto 4600
  421. 4580 b0=b%(n,1): r0=r%(n,1): p0=p1
  422. 4581 if i%(p0,r0)=0 then h%(n,1)=1:          gosub 461
  423. 4585 b0=b%(n,2): r0=r%(n,2): p0=p2
  424. 4586 if i%(p0,r0)=0 then h%(n,2)=2:          gosub 461
  425. 4590 goto 4505
  426. 4600 vm%(n)=vm%(n)+1:                        if vm%(n)<=v2%(n) goto 4575
  427. 4605 vn%(n)=vn%(n)+1:                        if vn%(n)<=v1%(n) goto 4570
  428. 4610 k=k-1: n=n%(k): if k<=k2 goto 3640
  429. 4615 gosub 470
  430. 4620 vm%(n)=vm%(n)+1:                        if vm%(n)>v2%(n) goto 4630
  431. 4625 goto 4575
  432. 4630 vn%(n)=vn%(n)+1:                        if vn%(n)>v1%(n) goto 4610
  433. 4635 goto 4570
  434. 4799 rem --------ordnen 6--------------
  435. 4800 m0$=m1$+"- schritt 6": gosub 435:       k=ub
  436. 4801 if k>kn goto 4900
  437. 4802 n=mb%(k): r0=r%(n,1): b0=b%(n,1)
  438. 4805 for p0=1 to h
  439. 4806 :   if i%(p0,r0)=0 then gosub 461:             goto 4820
  440. 4807 :   if i%(p0,r0)=b0 goto 4820
  441. 4810 next p0: goto 4990
  442. 4820 k=k+1: goto 4801
  443. 4899 rem ------------------------------
  444. 4900 x=km-8: if km=an+1 goto 5000
  445. 4901 m0$="fragen beantworten ":              gosub 435
  446. 4904 gosub 105:                              on -(c=17)-2*(c=13) goto 5000,4910
  447. 4906 goto 4904
  448. 4910 gosub 295: z=2: s=1
  449. 4911 x=x+8: if x>an then x=km
  450. 4914 y=x+7: if y>an then y=an
  451. 4916 for k=x to y: n=n%(k):                      on f%(n) gosub 360,365,370,375
  452. 4918 :   z=z+2: m$=a$(n): gosub 440
  453. 4920 next k: goto 4901
  454. 4989 rem ------------------------------
  455. 4990 m1$="widerspruch: aussage"+str$(n):     goto 2250
  456. 4999 rem ------------------------------
  457. 5000 m0$="naechste aufgabe ": gosub 435
  458. 5001 gosub 105:                              on -(c=17)-2*(c=13) goto 5003,5010
  459. 5002 goto 5001
  460. 5003 m0$="fertig ": gosub 435
  461. 5004 gosub 105:                              on -(c=17)-2*(c=13) goto 4900,5100
  462. 5005 goto 5004
  463. 5010 gosub 295
  464. 5020 ta=0: gosub 280: goto 810
  465. 5100 poke 214,22: sys 58640: end
  466. 8999 rem ------------------------------
  467. 9000 data 6,5,32
  468. 9001 data "name(elm)+tier(kein)"
  469. 9002 data "spei(supp)+hobb(les)"
  470. 9003 data "name(har):name(andy),name(elm)"
  471. 9004 data "hobb(auto)+spei[kuch]"
  472. 9005 data "haar(brau)=6"
  473. 9006 data "haar(kein)=2456"
  474. 9007 data "haar(schw)>name(nick)"
  475. 9008 data "tier(aal)+spei[fish]"
  476. 9009 data "tier(katz):haar(schw),haar(grau)"
  477. 9010 data "haar(grau)#hobb(prog)"
  478. 9011 data "name(elm)#name(nick)"
  479. 9012 data "name(stef)=135"
  480. 9013 data "name(stef)+spei(sal)"
  481. 9014 data "name(elm)+spei(stek)"
  482. 9015 data "tier(pfer)=23456"
  483. 9016 data "name(andy)+haar(grau)"
  484. 9017 data "name(nick)+haar[rot]"
  485. 9018 data "tier(katz)+spei(supp)"
  486. 9019 data "haar(rot)#hobb(tv)"
  487. 9020 data "haar(grau)<tier(hund)"
  488. 9021 data "name(nick)=1"
  489. 9022 data "tier(katz)>haar(schw)"
  490. 9023 data "hobb(bast)+haar(grau)"
  491. 9024 data "tier(vog)+hobb(koch)"
  492. 9025 data "tier(katz)#tier(aal)"
  493. 9026 data "haar(blon)+spei(pomm)"
  494. 9027 data "name(gott)"
  495. 9028 data "name(gott)=?"
  496. 9029 data "name(andy)+tier(?)"
  497. 9030 data "name(nick)+haar(?)"
  498. 9031 data "name(?)+spei(kuch)"
  499. 9032 data "name(?)+hobb(auto)"
  500. 9099 rem ------------------------------
  501. 9100 data 5,5,16
  502. 9101 data "nat (engl)+farb(rot )"
  503. 9102 data "nat (span)+tier(hund)"
  504. 9103 data "farb(grun)+getr(kaff)"
  505. 9104 data "nat (ukr )+getr(tee )"
  506. 9105 data "farb(grun)>farb(weis)"
  507. 9106 data "rau (zire)+tier(schn)"
  508. 9107 data "rau (ziga)+farb(gelb)"
  509. 9108 data "getr(mil )=3"
  510. 9109 data "nat (norw)=1"
  511. 9110 data "rau (pfei)#tier(fuch)"
  512. 9111 data "rau (ziga)#tier(pfer)"
  513. 9112 data "rau (stum)+getr(limo)"
  514. 9113 data "nat (jap )+rau (ziri)"
  515. 9114 data "nat (norw)#farb(blau)"
  516. 9115 data "tier(vog )"
  517. 9116 data "getr(whis)"
  518. 9199 rem ------------------------------
  519. 9200 data 5,5,31
  520. 9201 data "ber (ing )=1"
  521. 9202 data "spor(voll)=3"
  522. 9203 data "nat (pol )+ber (jour)"
  523. 9204 data "ber (fein)+alt (21  )"
  524. 9205 data "ber (lehr)+spor(schw)"
  525. 9206 data "ber (kap )+ziel(rost)"
  526. 9207 data "spor(hand)+nat (ddr )"
  527. 9208 data "nat (ussr)+ziel(leip)"
  528. 9209 data "ziel(berl)+alt (32  )"
  529. 9210 data "spor(lath)+ziel(magd)"
  530. 9211 data "nat (ddr )#nat (ung )"
  531. 9212 data "alt (52  )#ziel(dres)"
  532. 9213 data "alt (24  )#ziel(leip)"
  533. 9214 data "ber (ing )#nat (zyp )"
  534. 9215 data "alt (40  )"
  535. 9216 data "spor(fuss)"
  536. 9299 rem ------------------------------
  537.